<%@page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%>
<%@include file="/includes/taglibs.jsp"%>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
            
    <script type="text/javascript">
    <!-- 
    $(document).ready(function() {
    


	$("[id^='radioconfirmType-']").click(function() {
		var confirmType = this.value;
		$('#queryConfirmRule\\.confirmType').val(confirmType);
		
	});

		/* 程式群組點擊的處罰事件 */
		$("[id^='menuItem']").click(function() {
			var menuItemPk = this.id.substring(8);
			checkParent(menuItemPk);
			
		});
				
		/* 程式群組的複選框處罰事件的調用，選中其下程式功能的複選框 */ 
		function   checkParent(menuItemPk)
		{	
			
	    var parentMenuItem='roleFunctionDiv input:checkbox.chk';
	    parentMenuItem += menuItemPk;
	    var menuItem = 'menuItem';
	    menuItem += menuItemPk;
		
	    if($('#'+menuItem).attr('checked')) 
	     {
	 
	  	   
				$('#'+parentMenuItem).each(function()
				{ 				
				   $(this).attr('checked', true);
					
		        });		

	      } else{
	  
	        	 $('#'+parentMenuItem).each(function()
				  { 				
					$(this).attr('checked', false);
								
			      });		

	     }
	}	
	
		/* 彈出窗口全選按鈕 */	
		$("#allMenuCheckedBtn").click(function() 
		{
			
			for (i=0; i<=99; i=i+1)
			{
		     var a='roleFunctionDiv input:checkbox.chk';
		     a+=i;
			$('#'+a).each(function()
			{ 
				
				$(this).attr('checked', true);
	        });
			}
		});
		
		/* 彈出窗口全不選按鈕 */
		$("#clearMenuCheckedBtn").click(function() {
			for (i=0; i<=99; i=i+1)
			{
		     var a='roleFunctionDiv input:checkbox.chk';
		     a+=i;
			$('#'+a).each(function()
			{ 
				
				$(this).attr('checked', false);
	        });
			};
		});

        $('#doAddUser').click(function() {
        　　　　　　　if($("#usersPk option:selected").length>0)   
	　　　　　　　{   
	　　　　　　　　　　　$("#usersPk option:selected").each(function(){   
	　　　　　　　　　　　　　　$("#roleUsersPk").append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option");   
	　　　　　　　　　　　　　　$(this).remove();　   
	　　　　　　　　　　　})   
	　　　　　　　} else  
	　　　　　　　{   
	　　　　　　　　　　　alert("請選擇要增加的角色！");   
	　　　　　　　} 
        }); 
	        
		$('#doRemoveUser').click(function() {
        　　　　　　　if($("#roleUsersPk option:selected").length>0)   
	　　　　　　　{   
	　　　　　　　　　　　$("#roleUsersPk option:selected").each(function(){   
	　　　　　　　　　　　　　　$("#usersPk").append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option");   
	　　　　　　　　　　　　　　$(this).remove();　   
	　　　　　　　　　　　})   
	　　　　　　　} else  
	　　　　　　　{   
	　　　　　　　　　　　alert("請選擇要刪除的角色！");   
	　　　　　　　} 
        }); 	
   
    	$('#doSaveBtn').click(function() {
	    	//角色代號
    		var RoleNo = $('#RoleNo').val();
			//角色名稱    		
    		var RoleName = $('#RoleName').val();
    		//備註
    		var RoleNote = $('#RoleNote').val();
    		
    		var errorMessage = '';
    		
    		/* 角色代號驗證 */
    		if (RoleNo == '')
    		{
    		    if (errorMessage != '') errorMessage = errorMessage + '<br>';
    		    errorMessage = errorMessage + '角色代號不可空白!!';
    		}else{
				 var count = RoleNo.length;
				 var strLength = 0;					 
				 for(var i = 0; i < count; i++){
					  if(RoleNo.charCodeAt(i) < 0 || RoleNo.charCodeAt(i) > 255){
					   	strLength += 3;//漢字編碼在0-255之外，oracle數據庫是UTF-8編碼，一個漢字，對應數據庫varchar2的3個byte。
					  }else{
					  	 strLength += 1;
					  }
				 }
				 if(strLength > 20){
				 	 if (errorMessage != '') errorMessage = errorMessage + '<br>';
    		    	 errorMessage = errorMessage + '角色代號不可超過20碼!!';
				 }
    		}
    		/* 角色名稱驗證 */
    		if (RoleName == '')
    		{
    		    if (errorMessage != '') errorMessage = errorMessage + '<br>';
    		    errorMessage = errorMessage + '角色名稱不可空白!!';
    		}else{
				 var count = RoleName.length;
				 var strLength = 0;					 
				 for(var i = 0; i < count; i++){
					  if(RoleName.charCodeAt(i) < 0 || RoleName.charCodeAt(i) > 255){
					   	strLength += 3;//漢字編碼在0-255之外，oracle數據庫是UTF-8編碼，一個漢字，對應數據庫varchar2的3個byte。
					  }else{
					  	 strLength += 1;
					  }
				 }
				 if(strLength > 50){
				 	 if (errorMessage != '') errorMessage = errorMessage + '<br>';
    		    	 errorMessage = errorMessage + '角色名稱不可超過50碼!!';
				 }
    		}
    		/* 備註驗證 */
    		if (RoleNote != '')
    		{   
				 var count = RoleNote.length;
				 var strLength = 0;					 
				 for(var i = 0; i < count; i++){
					  if(RoleNote.charCodeAt(i) < 0 || RoleNote.charCodeAt(i) > 255){
					   	strLength += 3;//漢字編碼在0-255之外，oracle數據庫是UTF-8編碼，一個漢字，對應數據庫varchar2的3個byte。
					  }else{
					  	 strLength += 1;
					  }
				 }
				 if(strLength > 100){
				 	 if (errorMessage != '') errorMessage = errorMessage + '<br>';
    		    	 errorMessage = errorMessage + '備註不可超過100碼!!';
				 }
    		}    		
    	
    	
			var menuList = '';
	            for(i = 0; i <= 99; i=i+1){
	            	var a='roleFunctionDiv input:checkbox.chk';
	            	a+=i;
				    $('#'+a).each(function(){               
			            				           
						if ( $(this).attr('checked') ){
			            	menuList = menuList +  $(this).val() + ',';
			            }									
			        });
	            }
			$('#qryActionBeans').val(menuList);
            
		var fruitval0 = "";
            $("#roleUsersPk option").each(function() {
            fruitval0 += $(this).val()+',';
        });
        // 所有option选项的值
        $('#hidden\\.selectedUserForUpdate').val(fruitval0);
          	
          	if (errorMessage != '')
            {
                showErrorMessageDialog(errorMessage);
                return false;
            }
          	  
            return true;   		
		});		
	
		<c:if test="${not empty actionBean.message}">
    	showMessageDialog('<c:out value="${actionBean.message }" escapeXml="false"/>');
    	</c:if>
		
 });
 		
    
    function doPrintEvent()
    {
    	divPrint('queryForm');
    	return false;
    }
    
    //-->
    </script>
</head>
<body>

<div id="smallQueryForm"></div>

<stripes:form id="queryUserFunctionFrom" beanclass="com.feib.stms.action.Stms9005ActionBean" method="post" onsubmit="javascript: waitingDialog({});">
	<div id="queryForm">
     <table>
            <tr>
				<th>角色名稱<span id="mustKeyInStar">**</span></th>
				<td colspan="4">
					<stripes:select id="qryRolePk" name="rolePk" >
						<stripes:option value="NULL" label="-- 請選擇 --" />
						<c:forEach items="${actionBean.roleNoList}" var="roleObj" varStatus="rowstat">
							<stripes:option value="${roleObj.value}" label="${roleObj.label}" />
						</c:forEach>
					</stripes:select>
				</td>								
			</tr>
			<tr>
                <td colspan="5" class="queryFunction">
                    <stripes:submit id="doQueryBtn" name="doQuery" value="查詢" class="formBtn"/>
                    <stripes:submit id="doCreateBtn" name="doInitCreate" value="新增" class="formBtn"/>
				</td>
            </tr>
	</table>	
	</div>
</stripes:form>
<stripes:form id="roleFunctionFrom" beanclass="com.feib.stms.action.Stms9005ActionBean" method="post" onsubmit="javascript: waitingDialog({});">
    <div id="roleFunctionDiv">         
   		<c:if test="${null != actionBean.role || actionBean.isAddStatus}">    	
    		<table>
	            <tr>
					<th>角色代碼<span id="mustKeyInStar">**</span></th>
					<td colspan="1">
						<input type="text" maxlength="20" id="RoleNo" name="roleNo" <c:if test="${null != actionBean.role }">disabled="true"</c:if> value="${actionBean.roleNo}"/>
					</td>	
					<th>角色名稱<span id="mustKeyInStar">**</span></th>
					<td colspan="1">
						<stripes:text id="RoleName" maxlength="50" name="roleName" />
					</td>								
				</tr>
				<tr>
					<th>備註</th>
					<td colspan="3">
						<stripes:text id="RoleNote" name="roleNote" maxlength="100" />
					</td>		
				</tr>
				<c:set var="cyb" value="${0}" />
				<c:forEach items="${actionBean.functionsList}" var="viewObj" varStatus="rowstat">
					<c:forEach items="${viewObj}" var="tempObj" varStatus="rowstat1" begin="0" end="0">
			            	<tr>
			            		<th align="left">
			            			<input name="checkMenuItem[${rowstat.index}]" type="checkbox" id="menuItem${rowstat.index}" <c:if test="${tempObj.checked }">checked="checked"</c:if> value="<c:out value='${tempObj.value}'/>"  class="chk${rowstat.index}" />	            		
			            			<c:out value="${tempObj.label}"/>
			            		</th>
			            	</tr>
			         </c:forEach>
		            	<tr>
		            		<td>
		            			<c:set var="cnt" value="${1}"/>
		            			<c:forEach items="${viewObj}" var="subViewObj" varStatus="subRowstat" begin="1">
		            					&nbsp;&nbsp;&nbsp;
		            					<input name="qryFunctions[${cyb}]" type="checkbox" id="parentMenuItem${subRowstat.index}" <c:if test="${subViewObj.checked }">checked="checked"</c:if> value="<c:out value='${subViewObj.value}'/>" class="chk${rowstat.index}"/>
	            						<c:out value="${subViewObj.label}"/>
  							            <c:set var="cyb" value="${cyb + 1}"/>	            						
										<br/>
	            				</c:forEach>
		            		</td>
		            	</tr>
				</c:forEach>
				<tr>
					<td align="center" colspan="3" class="queryFunction">
						<input type="button" id="allMenuCheckedBtn" value="全選" />
						<input type="button" id="clearMenuCheckedBtn" value="全不選" />
					</td>
				</tr>
				<tr>
					<td>
						<stripes:select id="usersPk" name="usersPk" multiple="multiple" size="10" style="width:100px ">
							<c:forEach items="${actionBean.unSelectedUser}" var="unSelectedUserObj" varStatus="rowstat">
								<stripes:option value="${unSelectedUserObj.value}" label="${unSelectedUserObj.label}" />
							</c:forEach>									
						</stripes:select>
					</td>
					<td align="center">
            			<stripes:button id="doAddUser" name="doAddUser" value="加入>>"/>
            			<br/>
            			<br/>
            			<stripes:button id="doRemoveUser" name="doRemoveUser" value="<<刪除"/>
            		</td>
					<td>
						<stripes:select id="roleUsersPk" name="roleUsersPk" multiple="multiple" size="10" style="width:100px ">
							<c:forEach items="${actionBean.selectedUser}" var="selectedUserObj" varStatus="rowstat">
								<stripes:option value="${selectedUserObj.value}" label="${selectedUserObj.label}" />
							</c:forEach>						
						</stripes:select>
					</td>
				</tr>
				<tr>
					<td colspan="3" align="center">
						<stripes:hidden id="qryActionBeans" name="qryActionBeans"/>
						<stripes:hidden id="hidden.qryRolePk" name="rolePk" />
						<stripes:hidden id="hidden.selectedUserForUpdate" name="selectedUserForUpdate" />
						<c:if test="${null != actionBean.role}" >
							<input type="submit" id="doSaveBtn" name="doUpdate" value="確認" />
						</c:if>
						<c:if test="${actionBean.isAddStatus}" >
							<input type="submit" id="doSaveBtn" name="doCreate" value="確認" />
						</c:if>
		
					</td>
				</tr>
			</table>
		</c:if>
	</div>
</stripes:form>		
</body>
</html>
